package com.boot.mapper;

import com.boot.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

//这个UserMapper是个接口 和UserMapper.xml中的方法要对应起来
//最终是通过调用这个接口 再去掉的用到配置文件

public interface UserMapper {

    void addUser(User user);

    List<User> selectAllUser();

    //这里的id是形式参数 相当于一个占位
    User getById(Long id);

    //这里的参数实际上是:arg0、arg1或者param1、param2
    //User getByUserNameAndPassword(String userName,String password);

    //通过注解@Param 指定参数名字 value可以省略
    User getByUserNameAndPassword(@Param("userName") String userName, @Param(value = "password") String password);

    //如果有很多参数 @Param不合适了
    //可以将自定义类传递进去
    //如果查询结果可能是多个 这里直接定义List<User>即可
    List<User> getByUser(User user);

    List<User> getByMap(Map<String,Object> map);

    void addUser1(@Param("userName") String userName,@Param("password") String password);

    void addUser2(Map<String,Object> map);

    void deleteById(@Param("id") Long id);

    void updateById(User user);

}
